﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Edu.Web.Data.DV;
using Edu.Web.Data.Entity;
using ESoft.Core.Data.Service;

namespace Edu.Web.Data.Service
{
    public interface ITimeTableService : IBaseService<TimeTableEntity, long>
    {
        List<TimeTableDV> GetTimeTableList();

        List<TimeTableDV> GetTimeTableListByStuId(long stuId);

        /// <summary>
        /// 根据教师获取课程列表
        /// </summary>
        /// <param name="teacherId"></param>
        /// <returns></returns>
        List<TimeTableDV> GetTimeTableListByTeacherId(long teacherId);

        /// <summary>
        /// 获取课程名单
        /// </summary>
        /// <param name="courceId"></param>
        /// <returns></returns>
        List<CourceStudentDV> GetCourceStudentList(long courceId);

        long CreateCource(TimeTableProjectEntity tpVO);

        List<TimeTableCourceDV> GetTimeTableCourceList(long timeTableId);

        void CancelProject(long projectId);

        List<CourceProjectDV> GetCourceProjectListByTeacherId(long teacherId);

        List<CourceProjectDV> GetCourceProjectListByStuId(long stuId);

        List<ClazzListItemDV> GetClazzListByCourceId(long courceId, long userId);
    }
}
